package org.springblade.modules.platform.vo;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import org.springblade.modules.platform.vo.enums.DeviceStatusEnum;
import org.springblade.modules.platform.vo.enums.PlatformStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class DeviceTableVO {


    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 设备ID
     */
    @ApiModelProperty(value = "设备ID")
    private String deviceId;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    /**
     * 产品编号
     */
    @ApiModelProperty(value = "产品编号")
    private String productId;

    @ApiModelProperty(value = "产品名称")
    private String productName;
    /**
     * 安装位置
     */
    @ApiModelProperty(value = "安装位置")
    private String installPosition;

    /**
     * 所属机构
     */
    @ApiModelProperty(value = "所属机构")
    private String affiliatedInstitutions;

    /**
     * 所属机构编号
     */
    @ApiModelProperty(value = "所属机构编号")
    private Integer affiliatedInstitutionsCode;

    /**
     * 设备状态;1:启用;2禁用
     */
    @ApiModelProperty(value = "设备状态")
    private DeviceStatusEnum status;

    /**
     * 平台状态;1:启用;2禁用
     */
    @ApiModelProperty(value = "平台状态;1:启用;2禁用")
    private PlatformStatusEnum platformStatus;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remarks;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Long createUser;

    /**
     * 租户编号
     */
    @ApiModelProperty(value = "租户编号")
    private String tenantId;

    /**
     * 添加时间
     */
    @ApiModelProperty(value = "添加时间")
    private Long insertTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Long updateTime;

    /**
     * 是否已删除
     */
    @ApiModelProperty(value = "是否已删除")
    private Integer isDeleted;



    /**
     * 设备通道ID(地址)
     */
    @ApiModelProperty(value = "设备通道ID(地址)")
    private String deviceChannelId;

    @ApiModelProperty(value = "设备类型：1普通传感器，2高精度传感器")
    @JsonSerialize(nullsUsing = NullSerializer.class)
    private Integer deviceType;
}
